package com.woniuxy.charin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.woniuxy.charin.model.entity.EventDispose;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.charin.model.entity.User;
import com.woniuxy.charin.model.request.AssignProcessorsRequest;
import com.woniuxy.charin.model.request.DisposeEventRequest;
import com.woniuxy.charin.model.vo.EventDetailVo;

import java.util.Date;
import java.util.List;

/**
* @author WH
* @description 针对表【event_dispose】的数据库操作Service
* @createDate 2024-12-25 10:30:21
*/
public interface EventDisposeService extends IService<EventDispose> {

    void assignProcessors(AssignProcessorsRequest request);

    void ResendProcessors(AssignProcessorsRequest request,String token);

    void disposeEvent(DisposeEventRequest request);

    Page<EventDetailVo> pageRiskDispose(Integer userId, Integer pageNum, Integer pageSize, Integer status, Date startDate, Date endDate);

    EventDetailVo getDetailByDisposeId(Integer disposeId);

    void editDisposeDetail(DisposeEventRequest request);

    List<Integer> statisticsCurrentUserEvent(Integer userId, Integer type);

    Page<EventDetailVo> pageFaultDispose(Integer userId, Integer pageNum, Integer pageSize, Integer status, Date startDate, Date endDate);

    List<User> getAllProcessors();

    User getProcessorsInfo(Integer processorsId);

    Page<EventDetailVo> pageRiskDisposeByUserId(Integer userId, Integer pageNum, Integer pageSize, Integer status, Date startDate, Date endDate);

    Page<EventDetailVo> pageFaultDisposeByUserId(Integer userId, Integer pageNum, Integer pageSize, Integer status, Date startDate, Date endDate);
}
